home *** CD-ROM | disk | FTP | other *** search
- Patchmix by Mara Helmuth
-
- email: mara@woof.music.columbia.edu
- mara@silvertone.princeton.edu
- US mail: 709 Dodge Hall, Columbia University, New York, NY 10025
-
- category: Music
-
- Patchmix is a graphical interface to the Cmix Programming Language.
- Within it, you can create and test Cmix instruments by constructing
- a flow chart of unit generator icons.
-
- Patchmix is used for teaching Cmix, signal processing and C programming
- in the Computer Music class at Columbia University.
-
- It was developed under NeXTstep Release 2.1.
-
- Cmix must be installed. Be sure to put the correct directories in the file information window.
-
- Description:
-
- What is Patchmix?
- Patchmix is a graphical interface to the Cmix Programming
- Language. Within it, you can create and test Cmix instruments.
- Since the code for the instrument is written out to a specified directory,
- you can then work with this code later and modify it as you wish.
- Patchmix can be helpful either to someone learning Cmix or to put together
- quickly instruments which could then be altered as necessary. To run it, you
- need Cmix installed in the directory specified in your file information window.
- To get started, first make sure you have correct file info in the panel.
- Then, drag unit generators from the palette window onto the white patch view.
- Double-click on any unwanted unit generators to remove them. To set
- parameters for their inputs, double click on the parameter knob and
- set the value in the top right param field. Then, connect the unit
- generators, outputs to inputs, by dragging the mouse from output to input.
- Redrawing will erase them. When you're done making a patch, write out
- a score from the test score panel, being sure to fill in any designated
- parameter fields if you used them in the input parameters (i.e. p[3] could be
- frequency input to an oscillator). Then, you're ready to test it out.
- Write out a score file from the Score Data Window. Hit the "write code",
- "compile", "run", "rescale" and "play" buttons. To make sure each
- process has finished before starting the next, watch the "display output" window.
- Send any bugs, suggestions or comments to mara@woof.music.columbia.edu.
-
- Main Window
- The main window is where the flow chart is constructed, and where you select instrument-
- building functions with the compile, play or run buttons. Also, the name of your instrument
- and the directory where you want the code to be written should be specified in the form fields.
- To the right, the "param" field holds values you want to store as inputs to the unit generators.
-
- Panel Buttons
- reset will clear the flow chart off the screen (except for the output unit generator).
- This is an irreversible procedure.
- write code will write out the Cmix code into the "Newinst" directory, under filenames
- "inst1.c", Makefile and profile.c. If you already have these files in this directory
- they will be overwritten. If you specify different file names in the main window,
- they will be used.
- compile will compile the new instrument program.
- run creates the sound file by running the Cmix program.
- rescale will rescale the sound file from a floating point to an integer sound file.
- play will play the sound file.
- compile will compile the instrument that has been written out.
- run will run the cmix job using the instrument specified in the main window, and the
- score file and sound file specified in the file information window.
- rescale will rescale the soundfile into a playable integer file.
- play will play the soundfile.
-
- Warning: Loops in the patch will not work.
-
- Cmix Unit Generators
- The unit generator panel contains in the first row an oscilator, buzz, random number
- generator, evp (simple envelope with attack and decay) and a reson filter. The
- second and fourth rows are not yet working. The third row contains addition, subtraction
- multiplication and division operators. The six items in the right-most column are pitch
- converters. "pch" means octave.pitch class representation, "oct" means octave.decimal,
- and "cps" means Hertz or cycles per second. So, "pchcps" converts from Hz to octave.
- pitch class notation. The Cmix man pages explain more about these unit generators.
-
- The input values to each parameter or argument of the unit generator may be set internally
- by Patchmix, or more often can be set by the user in the "Param" field at the top of the main
- window. If the value is something that should be determined by the data or score file
- and not specified in the instrument, enter a new p-field number in the Param field when this
- input is selected. For example, in a one-oscil instrument, perhaps frequency should be a
- p-field. Go to the Score Data window and choose an unused p-field (i.e. p[3]) and enter
- it into the frequency param. Then pitch will be determined in the score for this instrument.